OPC UA Discovery allows OPC Data Client to find available OPC UA servers, and determine how to make connections to them. There are several approaches to discovery, and they can be combined together to achieve the desired functionality. Clients and servers can be on the same host, on different hosts in the same subnet, or even on completely different locations in an administrative domain.
OPC Data Client provides following kinds of discovery:
It is also possible to access the discovery functionality in a common way, using Generalized OPC UA Discovery.
By default, the results (the application element collection) of many of the methods described in this chapter are returned flattened. This means that a single OPC UA application may appear multiple times in the resulting collection, and each time it will have precisely one DiscoveryUriString associated with it.
Alternatively, you can use method overloads with the additional 'flat' argument, and set it true, in order to receive unflattened result. In this case, each OPC UA application will be contained just once in the resulting collection, but it may have one or more discovery URL in its DiscoveryUriStrings property. In this case, do not use the DiscoveryUriString property, because it will contain an empty string if the application has more than one discovery URL.